#!/bin/bash

#获取同步文件的所有主机名
hosts=$(cat /etc/hosts | grep -Ev "(^$|localhost|127.0.0.1)" | awk '{print $2}')

#1. 判断参数个数
if [ $# -lt 1 ]
then
  echo "参数个数为0，没有要同步的文件"!
  exit;
fi
#2. 遍历集群所有机器
file=$1
current_host=$(hostname)
for host in $hosts
do
  echo ====================  $host  ====================
    if [[ -e $file && $host!=$current_host ]]
    then
      #5. 获取父目录
      pdir=$(cd -P $(dirname $file); pwd)
      #6. 获取当前文件的名称
      fname=$(basename $file)

      ssh root@$host "mkdir -p $pdir/$fname"

      scp -r  $pdir/$fname/* root@$host:$pdir/$fname
    else
      echo $file does not exists!
    fi
done